草庐IT

LiveData 从实践到原理

全部标签

CVE-2021-4034漏洞原理解析

前言本篇文章主要叙述CVE-2021-4034漏洞,该漏洞影响的linux发行版众多,例如:Ubuntu、CentOS、Debian等等,该漏洞为Linux系统本地提权漏洞,利用脚本已经公开,利用简单且稳定,脚本地址:Github当攻击者获取目标系统普通用户权限时,利用该脚本即可直接获得root权限,该漏洞的主要原因是因为polkit中的pkexec程序对参数个数判断不佳,导致数组溢出,具体分析过程将在下面慢慢介绍。首先得先了解下suid、sgid、sbit的特殊权限,将对后面分析起到帮助,也对后续的渗透学习开辟一些新鲜道路。一、SUID、SGID、SBIT的介绍suid、sgid、sbit是

电路设计学习一:DAC/ADC原理

文章目录参考文献DAC基本原理DAC分类倒T型电阻网络权电流转换器DAC的性能指标分辨率转换速度ADC基本原理ADC分类ADC的性能指标ADC的位数分辨率基准源转换速率量化误差参考文献DAC数模转换/ADC模数转换单片机AD/DA数模转换模数转换(A/D)与数模转换(D/A)DAC基本原理DAC将输入的数字量按权的大小,通过电阻网络转化为模拟量,再通过加法电路,转换为与数字量成比例的模拟量。实际上就是二进制转换为十进制的过程。基本组成包括锁存器、电子开关、基准源、权电阻网络和求和电路。锁存器:保存输入的数字量。电子开关:被数字量控制开关,用来决定是否将某一路数字量转换为有效模拟量输出。基准源:

13. 滑动时间窗口算法概念原理

1.时间窗介绍在之前的学习中,我们已经学习完成了Sentinel源码的Node关系、责任链调用,那么这节课我们就要学习Sentinel核心源码中的一个非常重要的算法“滑动时间窗口算法”,也就是结构图中的WindowLeapArray,它为Sentinel提供当前时间的数据支撑,如当前QPS,请求数,异常数等。2.固定时间窗口算法要学习滑动窗口,我们先要学习时间窗口算法,以循序渐进的方式了解滑动窗口,时间窗口算法也可以称之为:固定时间窗算法概念:固定时间窗口计数器算法思想:在固定的时间窗口内,可以允许固定数量的请求进入。超过数量就拒绝或者排队,等下一个时间段进入。那我们来看图分析:具体分析一下:

说一下线程池的核心参数,线程池的执行原理知道嘛

1.线程池的核心参数线程池七大核心参数如下所示:publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueueworkQueue,ThreadFactorythreadFactory,RejectedExecutionHandlerhandler)corePoolSize: 核心线程数目maximumPoolSize: 最大线程数目 =(核心线程+救急线程的最大数目)keepAliveTime: 生存时间-救急线程的生存时间,生存时间内没有新任务,此

Kubernetes 中的服务注册与发现原理分析

对k8s有点了解技术人员,应该都只知道k8s是有服务注册发现的,今天就分析下这个原理,看看怎么实现的。什么是服务注册与发现服务注册与发现是一种机制,用于在集群中动态地发现和连接不同的服务,比如我们在开发微服务时,经常使用的Eureka、Nacos等ServiceB把自己注册到ServiceRegistry叫做服务注册ServiceA从ServiceRegistry发现ServiceB的节点信息叫做服务发现K8s中为什么需要服务发现动态性在K8s集群中,Pod和服务的数量和位置都是动态变化的,Pod有可能伸缩、重新部署或迁移,在这样的环境下,如果硬编码的服务地址是不可行的,所以服务注册与发现使得

SPI扩展点在业务中的使用及原理分析

1什么是SPISPI全称ServiceProviderInterface。面向接口编程中,我们会根据不同的业务抽象出不同的接口,然后根据不同的业务实现建立不同规则的类,因此一个接口会实现多个实现类,在具体调用过程中,指定对应的实现类,当业务发生变化时会导致新增一个新的实现类,亦或是导致已经存在的类过时,就需要对调用的代码进行变更,具有一定的侵入性。整体机制图如下:JavaSPI实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。2SPI在京喜业务中的使用2.1简介目前仓储中台和京喜BP的合作主要通过SPI扩展点的方式。好处就是对修改封闭、对扩展开放,中台不需要关心BP的业务实

云计算:从基础架构原理到最佳实实之:云计算容器化与微服务架构

作者:禅与计算机程序设计艺术1.背景介绍1996年贝尔实验室的计算机科学家尼克·皮特(Niemer-Phet)在美国IBM的一台计算机上实现了第一台真正意义上的“超级计算机”。这一计算机拥有超过3万个处理器核心,能够执行超过1亿条指令并处理复杂的数据。然而,当时仅靠这一台超级计算机还无法满足对海量数据进行快速分析和处理的需求。这就是所谓的“大规模并行计算”(MassivelyParallelComputing)问题。随着计算机性能的不断提高、存储设备的发展、互联网的普及以及云计算的出现,解决“大规模并行计算”问题变得越来越重要。1998年,AWS和阿里云等公共云平台服务商首先提出了将“计算资源

【Android】VirtualDisplay创建流程及原理

AndroidVirtualDisplay创建流程及原理AndroidDisplayManager提供了createVirtualDisplay接口,用于创建虚拟屏。虚拟屏可用于录屏(网上很多资料说这个功能),分屏幕(比如一块很长的屏幕,通过虚拟屏分出不同的区域)等等。创建VirtualDisplayDisplayManager中的函数原型如下。后两个Hide的API,只有平台的应用才可以使用。//frameworks/base/core/java/android/hardware/display/DisplayManager.javapublicVirtualDisplaycreateVir

SpringBoot——日志及原理

优质博文:IT-BLOG-CN一、SpringBoot日志选用SLF4j(接口)和logback(实现类),除了上述日志框架,市场上还存在JUL(java.util.logging)、JCL(ApacheCommonsLogging)、Log4j、Log4j2、SLF4j、jboss-logging等。SpringBoot在框架内部使用JCL,SpringBoot的spring-boot-starter-logging采用了SLF4j+logback的形式,SpringBoot也能自动适配(jul、log4j2、logback)并简化配置。其实logback是log4j的升级版,因为log4j

英飞凌AURIX 2G 系列MCU关于外设模块EVADC的实现原理及对应MCAL(EB Tresos)配置项详细讲解

目录一、版本控制二、功能概述三、主要模块及涉及EB配置项(一)通用时钟方案与控制(二)内部相关模拟模块的激活与控制1.模数转换器控制2.模拟信号缓冲3.校准4.降噪方法5.Alias功能(三)转换请求产生(四)请求源仲裁(五)快速比较通道操作(六)转换时间(七)转换结果处理(八)同步转换(九)中断服务请求产生四、其他EB配置项五、重要寄存器六、参考文档一、版本控制版本撰写日期撰写记录字体颜色V1.02023.07.12以当前时间点对EVADC模块的认识,撰写了此文档,旨在阐述AURIX2G系列单片机关于EVADC模块的实现原理及对应MCAL配置工具EB的重要配置项。黑色(有部分红色字体仅为辨识